// FILE: Chip8ROM.h by Richard Hughes 27/04/2012
//
// DESC: Defines the Chip8ROM interface

#ifndef __chip8rom_h__
#define __chip8rom_h__

// INCLUDES
#include "IROM.h"

namespace Emulator
{
namespace Chip8
{

/*************************************************************/
//
// CLASS: Chip8ROM
//
// DESC: Defines a Chip8 ROM
//
/*************************************************************/

class Chip8ROM : public IROM
{
private:

	// is this ROM loaded?
	bool _isLoaded;

	// the data of this ROM
	byte* _data;

	int _size;

public:

	Chip8ROM();
	~Chip8ROM();

	bool Load(string fileName);

	bool UnLoad();

	inline const bool IsLoaded() const { return this->_isLoaded; }

	inline const byte* GetRawData() const { return this->_data; }

	inline const int Size() const { return this->_size; }

}; // Chip8ROM

} // Chip8
} // Emulator

#endif // __chip8rom_h__

// EOF: Chip8ROM.h